package cn.wolfcode.ssm.service;

import cn.wolfcode.ssm.domain.Employee;
import cn.wolfcode.ssm.qo.PageResult;
import cn.wolfcode.ssm.qo.QueryObject;
import com.github.pagehelper.PageInfo;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface IEmployeeService {

    void delete(Long id);

    void save(Employee employee,Long[] ids);

    Employee getOne(Long id);

    List<Employee> getAll();

    void update(Employee employee,Long[] ids);

    PageInfo<Employee> selectForPageResult(QueryObject qo);

    Employee login(String username, String password);

    void updatePwd(String newPassword,Long id);

    void batchDelete(Long[] ids);

    Employee selectByName(String name);

    void updateStatus(boolean status,Long id);

    Workbook exportXls();

    void importXls(MultipartFile file) throws Exception;

    //这里使用可变参数的好处是能够直接传参数进去
    List<Employee> selectByRoleSn(String...sns);
}
